AWS環境での監視について調べる CloudWatchとZabbixの比較
オンプレからAWSへのシステムの移行をお考えのお客様にところに伺うと 「AWSのCloudWatchがあれば監視用のツールは必要ありませんか?」 と質問されることがよくあります。簡単にですがお客様がよく使われているZabbixとAWS標準のCloudWatchと機能比較してみたいと思います。
機能比較
AWS CloudWatch | Zabbix | ||
---|---|---|---|
リソース監視(※1) | EC2 | ○ | ○ |
RDS、ELBなど | ○ | ×(※2) | |
インスタンス死活監視 | ○(ステータスを監視) | ○(ping監視) | |
プロセス監視 | ×(※3) | ○ | |
Web監視 | ×(※3) | ○ | |
ログの監視 | ○(※4) | ○ | |
データの保存期間 | 2週間 | DBに保存するので特に制約なし | |
利用料金 | 条件付きで有料(※5) | EC2の利用料金 | |
イベント通知方法 | Amazon SNS | メール、SMS、Jabberチャットメッセージ | |
イベント通知時のコマンド実行 | ×(※6) | ○ |
○:標準で使えます ×:標準で使えません
補足
- 1.リソース監視の監視項目
- CloudWatchはデフォルトでメモリー使用率やディスク使用量、ロードアベレージがないので必要であればカスタムメトリクスとして追加する必要があります。監視項目は以下のページをご覧ください。 [CloudWatch]グラフの確認方法と確認できるグラフ一覧(EC2/ELB/RDS) Zabbixエージェント - Zabbixオフィシャル日本語サイト
- 2.Zabbixからフルマネージドサービスを監視
- ZabbixではRDSやELBのリソースを監視する機能はありません。Zabbixでフルマネージドサービスを監視したい場合はCloudWatchから値を取得するスクリプトを実装する必要があります。 ZabbixでAWS/CloudWatchの値を取得してみた
- 3.カスタムメトリクスを使えば可能
- カスタムメトリクスの追加方法は以下のページをご覧ください。 カスタムメトリックスをパブリッシュする
- 4.CloudWatchでログの監視
- CloudWatchでログの監視する方法に関しては以下のページをご覧ください。 Amazon CloudWatch Logsでログファイルを監視する
- 5.CloudWatchの料金
- 料金表のリンクを張っておきます。 Amazon CloudWatch 料金表
- 6.CloudWatchがイベント発生時にできること
イベント発生時にAutoScalingのスケールアウト/イン、EC2をstopやterminateすることは可能です。
まとめ
一通り調べてみたところCloudWatchはカスタムメトリクスを使えば結構何でもできる印象がありました。またZabbixもスクリプトを書けばCloudWatchの値を取得できるので、あまり機能的な違いは感じられませんでした。CloudWatchは保存期間が2週間と短いですが、この点が問題ないようであればCloudWatchで大体の要件は満たせそうですね。